[INFO] cloning repository https://github.com/iptq/chat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iptq/chat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiptq%2Fchat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiptq%2Fchat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ba65bdc71054a3a40f69a95eaf95bac9410ef1bd
[INFO] fixing iptq/chat against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiptq%2Fchat" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/iptq/chat
[INFO] finished tweaking git repo https://github.com/iptq/chat
[INFO] tweaked toml for git repo https://github.com/iptq/chat written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/iptq/chat on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/iptq/chat already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: server/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `server` (manifest) generated 1 warning
[INFO] [stderr] warning: identity/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `identity` (manifest) generated 1 warning
[INFO] [stderr] warning: proto/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `proto` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded protoc-rust v2.0.5
[INFO] [stderr]   Downloaded protoc v2.0.5
[INFO] [stderr]   Downloaded protobuf-codegen v2.0.5
[INFO] [stderr]   Downloaded protobuf v2.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351
[INFO] running `Command { std: "docker" "start" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr] warning: identity/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `identity` (manifest) generated 1 warning
[INFO] [stderr] warning: server/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `server` (manifest) generated 1 warning
[INFO] [stderr] warning: proto/Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `proto` (manifest) generated 1 warning
[INFO] [stderr]    Compiling protobuf v2.0.5
[INFO] [stderr]    Compiling byteorder v1.2.7
[INFO] [stderr]    Compiling cc v1.0.26
[INFO] [stderr]    Compiling remove_dir_all v0.5.1
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling rand v0.4.3
[INFO] [stderr]    Compiling failure_derive v0.1.3
[INFO] [stderr]     Checking tokio-io v0.1.10
[INFO] [stderr]    Compiling protoc v2.0.5
[INFO] [stderr]    Compiling bytes v0.4.11
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling backtrace-sys v0.1.26
[INFO] [stderr]     Checking backtrace v0.3.13
[INFO] [stderr]     Checking failure v0.1.3
[INFO] [stderr]    Compiling protobuf-codegen v2.0.5
[INFO] [stderr]    Compiling protoc-rust v2.0.5
[INFO] [stderr]    Compiling proto v0.1.0 (/opt/rustwide/workdir/proto)
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> proto/src/proto/chat.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> proto/src/proto/util.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:145:38
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:148:55
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:399:26
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 402 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:405:55
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:685:26
[INFO] [stdout]     |
[INFO] [stdout] 685 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 685 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:688:38
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:691:55
[INFO] [stdout]     |
[INFO] [stdout] 691 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 691 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:854:26
[INFO] [stdout]     |
[INFO] [stdout] 854 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 854 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:857:38
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:860:55
[INFO] [stdout]     |
[INFO] [stdout] 860 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 860 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1126:26
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1129:38
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1132:55
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1295:26
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1298:38
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1301:55
[INFO] [stdout]      |
[INFO] [stdout] 1301 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1301 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1575:26
[INFO] [stdout]      |
[INFO] [stdout] 1575 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1575 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1578:38
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1581:55
[INFO] [stdout]      |
[INFO] [stdout] 1581 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1581 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1787:26
[INFO] [stdout]      |
[INFO] [stdout] 1787 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1787 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1790:38
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1793:55
[INFO] [stdout]      |
[INFO] [stdout] 1793 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1793 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2014:26
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2017:38
[INFO] [stdout]      |
[INFO] [stdout] 2017 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2017 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2020:55
[INFO] [stdout]      |
[INFO] [stdout] 2020 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2020 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2189:26
[INFO] [stdout]      |
[INFO] [stdout] 2189 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2189 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2192:38
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2195:55
[INFO] [stdout]      |
[INFO] [stdout] 2195 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2195 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2403:26
[INFO] [stdout]      |
[INFO] [stdout] 2403 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2403 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2406:38
[INFO] [stdout]      |
[INFO] [stdout] 2406 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2406 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2409:55
[INFO] [stdout]      |
[INFO] [stdout] 2409 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2409 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2623:26
[INFO] [stdout]      |
[INFO] [stdout] 2623 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2623 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2626:38
[INFO] [stdout]      |
[INFO] [stdout] 2626 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2626 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2629:55
[INFO] [stdout]      |
[INFO] [stdout] 2629 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2629 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3125:26
[INFO] [stdout]      |
[INFO] [stdout] 3125 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3125 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3128:38
[INFO] [stdout]      |
[INFO] [stdout] 3128 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3128 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3131:55
[INFO] [stdout]      |
[INFO] [stdout] 3131 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3131 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3499:26
[INFO] [stdout]      |
[INFO] [stdout] 3499 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3499 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3502:38
[INFO] [stdout]      |
[INFO] [stdout] 3502 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3502 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3505:55
[INFO] [stdout]      |
[INFO] [stdout] 3505 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3505 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:149:38
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:152:55
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 143 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 146 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:400:18
[INFO] [stdout]     |
[INFO] [stdout] 400 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 400 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:403:22
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:689:22
[INFO] [stdout]     |
[INFO] [stdout] 689 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:855:18
[INFO] [stdout]     |
[INFO] [stdout] 855 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 855 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:858:22
[INFO] [stdout]     |
[INFO] [stdout] 858 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 858 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1127:18
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1130:22
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1296:18
[INFO] [stdout]      |
[INFO] [stdout] 1296 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1296 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1299:22
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1576:18
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1579:22
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1788:18
[INFO] [stdout]      |
[INFO] [stdout] 1788 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1788 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1791:22
[INFO] [stdout]      |
[INFO] [stdout] 1791 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1791 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2015:18
[INFO] [stdout]      |
[INFO] [stdout] 2015 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2015 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2018:22
[INFO] [stdout]      |
[INFO] [stdout] 2018 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2018 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2190:18
[INFO] [stdout]      |
[INFO] [stdout] 2190 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2190 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2193:22
[INFO] [stdout]      |
[INFO] [stdout] 2193 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2193 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2404:18
[INFO] [stdout]      |
[INFO] [stdout] 2404 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2404 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2407:22
[INFO] [stdout]      |
[INFO] [stdout] 2407 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2407 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2624:18
[INFO] [stdout]      |
[INFO] [stdout] 2624 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2624 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2627:22
[INFO] [stdout]      |
[INFO] [stdout] 2627 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2627 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3126:18
[INFO] [stdout]      |
[INFO] [stdout] 3126 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3126 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3129:22
[INFO] [stdout]      |
[INFO] [stdout] 3129 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3129 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> proto/src/proto/chat.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `box_pointers` has been removed: it does not detect other kinds of allocations, and existed only for historical reasons
[INFO] [stdout]   --> proto/src/proto/util.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![allow(box_pointers)]
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3500:18
[INFO] [stdout]      |
[INFO] [stdout] 3500 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3500 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3503:22
[INFO] [stdout]      |
[INFO] [stdout] 3503 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3503 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:142:26
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:145:38
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:148:55
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:399:26
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 402 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:405:55
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 405 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:685:26
[INFO] [stdout]     |
[INFO] [stdout] 685 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 685 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:688:38
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:691:55
[INFO] [stdout]     |
[INFO] [stdout] 691 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 691 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:854:26
[INFO] [stdout]     |
[INFO] [stdout] 854 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 854 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:857:38
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 857 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:860:55
[INFO] [stdout]     |
[INFO] [stdout] 860 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 860 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1126:26
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1126 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1129:38
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1129 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1132:55
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1132 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1295:26
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1295 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1298:38
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1298 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1301:55
[INFO] [stdout]      |
[INFO] [stdout] 1301 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1301 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1575:26
[INFO] [stdout]      |
[INFO] [stdout] 1575 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1575 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1578:38
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1578 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1581:55
[INFO] [stdout]      |
[INFO] [stdout] 1581 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1581 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1787:26
[INFO] [stdout]      |
[INFO] [stdout] 1787 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1787 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1790:38
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1790 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1793:55
[INFO] [stdout]      |
[INFO] [stdout] 1793 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1793 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2014:26
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2014 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2017:38
[INFO] [stdout]      |
[INFO] [stdout] 2017 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2017 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2020:55
[INFO] [stdout]      |
[INFO] [stdout] 2020 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2020 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2189:26
[INFO] [stdout]      |
[INFO] [stdout] 2189 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2189 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2192:38
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2192 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2195:55
[INFO] [stdout]      |
[INFO] [stdout] 2195 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2195 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2403:26
[INFO] [stdout]      |
[INFO] [stdout] 2403 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2403 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2406:38
[INFO] [stdout]      |
[INFO] [stdout] 2406 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2406 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2409:55
[INFO] [stdout]      |
[INFO] [stdout] 2409 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2409 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2623:26
[INFO] [stdout]      |
[INFO] [stdout] 2623 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2623 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2626:38
[INFO] [stdout]      |
[INFO] [stdout] 2626 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2626 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2629:55
[INFO] [stdout]      |
[INFO] [stdout] 2629 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2629 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3125:26
[INFO] [stdout]      |
[INFO] [stdout] 3125 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3125 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3128:38
[INFO] [stdout]      |
[INFO] [stdout] 3128 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3128 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3131:55
[INFO] [stdout]      |
[INFO] [stdout] 3131 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3131 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3499:26
[INFO] [stdout]      |
[INFO] [stdout] 3499 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3499 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]      |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3502:38
[INFO] [stdout]      |
[INFO] [stdout] 3502 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3502 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]      |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3505:55
[INFO] [stdout]      |
[INFO] [stdout] 3505 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3505 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]      |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:146:26
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn as_any(&self) -> &::std::any::Any {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn as_any(&self) -> &dyn (::std::any::Any) {
[INFO] [stdout]     |                          +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:149:38
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn as_any_mut(&mut self) -> &mut ::std::any::Any {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
[INFO] [stdout]     |                                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:152:55
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
[INFO] [stdout]     |                                                       +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 143 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:146:22
[INFO] [stdout]     |
[INFO] [stdout] 146 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 146 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:400:18
[INFO] [stdout]     |
[INFO] [stdout] 400 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 400 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:403:22
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 403 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:686:18
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:689:22
[INFO] [stdout]     |
[INFO] [stdout] 689 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 689 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:855:18
[INFO] [stdout]     |
[INFO] [stdout] 855 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 855 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/chat.rs:858:22
[INFO] [stdout]     |
[INFO] [stdout] 858 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 858 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1127:18
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1127 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1130:22
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1296:18
[INFO] [stdout]      |
[INFO] [stdout] 1296 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1296 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1299:22
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1299 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1576:18
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1576 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1579:22
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1579 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LineCodec` is never constructed
[INFO] [stdout]  --> proto/src/codec.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LineCodec;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1788:18
[INFO] [stdout]      |
[INFO] [stdout] 1788 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1788 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:1791:22
[INFO] [stdout]      |
[INFO] [stdout] 1791 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1791 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 | / ...   descriptor.get(|| {
[INFO] [stdout] 167 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 168 | | ...       fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ErrorRes...
[INFO] [stdout] 169 | | ...           "code",
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | | ...   })
[INFO] [stdout]     | |________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 161 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 161 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             instance.get(ErrorResponse::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 188 -         static mut instance: ::protobuf::lazy::Lazy<ErrorResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 188 +         static instance: ::protobuf::lazy::Lazy<ErrorResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 | /             descriptor.get(|| {
[INFO] [stdout] 249 | |                 ::protobuf::reflect::EnumDescriptor::new("ErrorResponse_Code", file_descriptor_proto())
[INFO] [stdout] 250 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 243 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 243 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 | /             descriptor.get(|| {
[INFO] [stdout] 424 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 425 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 426 | |                     "name",
[INFO] [stdout] ...   |
[INFO] [stdout] 440 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 418 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 418 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:450:13
[INFO] [stdout]     |
[INFO] [stdout] 450 |             instance.get(RegisterNickCommand::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 445 -         static mut instance: ::protobuf::lazy::Lazy<RegisterNickCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 445 +         static instance: ::protobuf::lazy::Lazy<RegisterNickCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:470:15
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:709:13
[INFO] [stdout]     |
[INFO] [stdout] 709 | /             descriptor.get(|| {
[INFO] [stdout] 710 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 711 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 712 | |                     "denied",
[INFO] [stdout] ...   |
[INFO] [stdout] 726 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 704 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 704 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:736:13
[INFO] [stdout]     |
[INFO] [stdout] 736 |             instance.get(RegisterNickResponse::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 731 -         static mut instance: ::protobuf::lazy::Lazy<RegisterNickResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 731 +         static instance: ::protobuf::lazy::Lazy<RegisterNickResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:756:15
[INFO] [stdout]     |
[INFO] [stdout] 756 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 756 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 | /             descriptor.get(|| {
[INFO] [stdout] 879 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 880 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 881 | |                     "key",
[INFO] [stdout] ...   |
[INFO] [stdout] 890 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 873 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 873 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:900:13
[INFO] [stdout]     |
[INFO] [stdout] 900 |             instance.get(LoginChallengeCommand::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 895 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 895 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2015:18
[INFO] [stdout]      |
[INFO] [stdout] 2015 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2015 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2018:22
[INFO] [stdout]      |
[INFO] [stdout] 2018 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2018 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:919:15
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1150:13
[INFO] [stdout]      |
[INFO] [stdout] 1150 | /             descriptor.get(|| {
[INFO] [stdout] 1151 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1152 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 1153 | |                     "denied",
[INFO] [stdout] ...    |
[INFO] [stdout] 1167 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1145 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1145 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1177:13
[INFO] [stdout]      |
[INFO] [stdout] 1177 |             instance.get(LoginChallengeResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1172 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1172 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1197:15
[INFO] [stdout]      |
[INFO] [stdout] 1197 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1197 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1319:13
[INFO] [stdout]      |
[INFO] [stdout] 1319 | /             descriptor.get(|| {
[INFO] [stdout] 1320 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1321 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 1322 | |                     "attempt",
[INFO] [stdout] ...    |
[INFO] [stdout] 1331 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1314 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1314 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1341:13
[INFO] [stdout]      |
[INFO] [stdout] 1341 |             instance.get(LoginChallengeAttemptCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1336 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1336 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1360:15
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1599:13
[INFO] [stdout]      |
[INFO] [stdout] 1599 | /             descriptor.get(|| {
[INFO] [stdout] 1600 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1601 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 1602 | |                     "denied",
[INFO] [stdout] ...    |
[INFO] [stdout] 1616 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1594 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1594 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1626:13
[INFO] [stdout]      |
[INFO] [stdout] 1626 |             instance.get(LoginChallengeAttemptResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1621 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1621 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1646:15
[INFO] [stdout]      |
[INFO] [stdout] 1646 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1646 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2190:18
[INFO] [stdout]      |
[INFO] [stdout] 2190 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2190 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2193:22
[INFO] [stdout]      |
[INFO] [stdout] 2193 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2193 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1811:13
[INFO] [stdout]      |
[INFO] [stdout] 1811 | /             descriptor.get(|| {
[INFO] [stdout] 1812 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1813 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 1814 | |                     "name",
[INFO] [stdout] ...    |
[INFO] [stdout] 1828 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1806 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1806 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1838:13
[INFO] [stdout]      |
[INFO] [stdout] 1838 |             instance.get(WelcomeResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1833 -         static mut instance: ::protobuf::lazy::Lazy<WelcomeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1833 +         static instance: ::protobuf::lazy::Lazy<WelcomeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1858:15
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2038:13
[INFO] [stdout]      |
[INFO] [stdout] 2038 | /             descriptor.get(|| {
[INFO] [stdout] 2039 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2040 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 2041 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2060 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2033 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2033 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2070:13
[INFO] [stdout]      |
[INFO] [stdout] 2070 |             instance.get(WelcomeResponse_UnreadChannel::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2065 -         static mut instance: ::protobuf::lazy::Lazy<WelcomeResponse_UnreadChannel> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2065 +         static instance: ::protobuf::lazy::Lazy<WelcomeResponse_UnreadChannel> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2091:15
[INFO] [stdout]      |
[INFO] [stdout] 2091 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2091 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2213:13
[INFO] [stdout]      |
[INFO] [stdout] 2213 | /             descriptor.get(|| {
[INFO] [stdout] 2214 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2215 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 2216 | |                     "contents",
[INFO] [stdout] ...    |
[INFO] [stdout] 2225 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2208 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2208 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2235:13
[INFO] [stdout]      |
[INFO] [stdout] 2235 |             instance.get(SendMessageCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2230 -         static mut instance: ::protobuf::lazy::Lazy<SendMessageCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2230 +         static instance: ::protobuf::lazy::Lazy<SendMessageCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2254:15
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2427:13
[INFO] [stdout]      |
[INFO] [stdout] 2427 | / ...   descriptor.get(|| {
[INFO] [stdout] 2428 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2429 | | ...       fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessag...
[INFO] [stdout] 2430 | | ...           "user",
[INFO] [stdout] ...    |
[INFO] [stdout] 2444 | | ...   })
[INFO] [stdout]      | |________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2422 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2422 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2454:13
[INFO] [stdout]      |
[INFO] [stdout] 2454 |             instance.get(ServerNewMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2449 -         static mut instance: ::protobuf::lazy::Lazy<ServerNewMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2449 +         static instance: ::protobuf::lazy::Lazy<ServerNewMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2474:15
[INFO] [stdout]      |
[INFO] [stdout] 2474 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2474 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2647:13
[INFO] [stdout]      |
[INFO] [stdout] 2647 | /             descriptor.get(|| {
[INFO] [stdout] 2648 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2649 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 2650 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2669 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2642 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2642 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2679:13
[INFO] [stdout]      |
[INFO] [stdout] 2679 |             instance.get(RequestHistoryCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2674 -         static mut instance: ::protobuf::lazy::Lazy<RequestHistoryCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2674 +         static instance: ::protobuf::lazy::Lazy<RequestHistoryCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2404:18
[INFO] [stdout]      |
[INFO] [stdout] 2404 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2404 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2407:22
[INFO] [stdout]      |
[INFO] [stdout] 2407 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2407 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2700:15
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3149:13
[INFO] [stdout]      |
[INFO] [stdout] 3149 | /             descriptor.get(|| {
[INFO] [stdout] 3150 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 3151 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, RegisterNickCommand>(
[INFO] [stdout] 3152 | |                     "register_nick",
[INFO] [stdout] ...    |
[INFO] [stdout] 3181 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3144 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3144 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3191:13
[INFO] [stdout]      |
[INFO] [stdout] 3191 |             instance.get(ClientMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3186 -         static mut instance: ::protobuf::lazy::Lazy<ClientMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3186 +         static instance: ::protobuf::lazy::Lazy<ClientMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:3214:15
[INFO] [stdout]      |
[INFO] [stdout] 3214 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 3214 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3523:13
[INFO] [stdout]      |
[INFO] [stdout] 3523 | /             descriptor.get(|| {
[INFO] [stdout] 3524 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 3525 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, RegisterNickResponse>(
[INFO] [stdout] 3526 | |                     "register_nick",
[INFO] [stdout] ...    |
[INFO] [stdout] 3545 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3518 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3518 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3555:13
[INFO] [stdout]      |
[INFO] [stdout] 3555 |             instance.get(ServerMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3550 -         static mut instance: ::protobuf::lazy::Lazy<ServerMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3550 +         static instance: ::protobuf::lazy::Lazy<ServerMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:3576:15
[INFO] [stdout]      |
[INFO] [stdout] 3576 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 3576 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3633:9
[INFO] [stdout]      |
[INFO] [stdout] 3633 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 3634 | |             parse_descriptor_proto()
[INFO] [stdout] 3635 | |         })
[INFO] [stdout]      | |__________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3622 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3622 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 | /             descriptor.get(|| {
[INFO] [stdout] 171 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 172 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 173 | |                     "id",
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 165 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 165 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             instance.get(UserSimple::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 192 -         static mut instance: ::protobuf::lazy::Lazy<UserSimple> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 192 +         static instance: ::protobuf::lazy::Lazy<UserSimple> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/util.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 240 | |             parse_descriptor_proto()
[INFO] [stdout] 241 | |         })
[INFO] [stdout]     | |__________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 228 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 228 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2624:18
[INFO] [stdout]      |
[INFO] [stdout] 2624 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2624 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:2627:22
[INFO] [stdout]      |
[INFO] [stdout] 2627 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 2627 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3126:18
[INFO] [stdout]      |
[INFO] [stdout] 3126 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3126 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3129:22
[INFO] [stdout]      |
[INFO] [stdout] 3129 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3129 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3500:18
[INFO] [stdout]      |
[INFO] [stdout] 3500 |         self as &::std::any::Any
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3500 |         self as &dyn (::std::any::Any)
[INFO] [stdout]      |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> proto/src/proto/chat.rs:3503:22
[INFO] [stdout]      |
[INFO] [stdout] 3503 |         self as &mut ::std::any::Any
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 3503 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]      |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:147:18
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self as &::std::any::Any
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 147 |         self as &dyn (::std::any::Any)
[INFO] [stdout]     |                  +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> proto/src/proto/util.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |         self as &mut ::std::any::Any
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |         self as &mut dyn (::std::any::Any)
[INFO] [stdout]     |                      +++++               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking identity v0.1.0 (/opt/rustwide/workdir/identity)
[INFO] [stdout] warning: struct `LineCodec` is never constructed
[INFO] [stdout]  --> proto/src/codec.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LineCodec;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 | / ...   descriptor.get(|| {
[INFO] [stdout] 167 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 168 | | ...       fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ErrorRes...
[INFO] [stdout] 169 | | ...           "code",
[INFO] [stdout] ...   |
[INFO] [stdout] 183 | | ...   })
[INFO] [stdout]     | |________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 161 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 161 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             instance.get(ErrorResponse::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 188 -         static mut instance: ::protobuf::lazy::Lazy<ErrorResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 188 +         static instance: ::protobuf::lazy::Lazy<ErrorResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 | /             descriptor.get(|| {
[INFO] [stdout] 249 | |                 ::protobuf::reflect::EnumDescriptor::new("ErrorResponse_Code", file_descriptor_proto())
[INFO] [stdout] 250 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 243 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 243 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 265 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 | /             descriptor.get(|| {
[INFO] [stdout] 424 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 425 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 426 | |                     "name",
[INFO] [stdout] ...   |
[INFO] [stdout] 440 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 418 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 418 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:450:13
[INFO] [stdout]     |
[INFO] [stdout] 450 |             instance.get(RegisterNickCommand::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 445 -         static mut instance: ::protobuf::lazy::Lazy<RegisterNickCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 445 +         static instance: ::protobuf::lazy::Lazy<RegisterNickCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:470:15
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 470 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:709:13
[INFO] [stdout]     |
[INFO] [stdout] 709 | /             descriptor.get(|| {
[INFO] [stdout] 710 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 711 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 712 | |                     "denied",
[INFO] [stdout] ...   |
[INFO] [stdout] 726 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 704 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 704 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:736:13
[INFO] [stdout]     |
[INFO] [stdout] 736 |             instance.get(RegisterNickResponse::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 731 -         static mut instance: ::protobuf::lazy::Lazy<RegisterNickResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 731 +         static instance: ::protobuf::lazy::Lazy<RegisterNickResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:756:15
[INFO] [stdout]     |
[INFO] [stdout] 756 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 756 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 | /             descriptor.get(|| {
[INFO] [stdout] 879 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 880 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 881 | |                     "key",
[INFO] [stdout] ...   |
[INFO] [stdout] 890 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 873 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 873 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/chat.rs:900:13
[INFO] [stdout]     |
[INFO] [stdout] 900 |             instance.get(LoginChallengeCommand::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 895 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 895 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/chat.rs:919:15
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1150:13
[INFO] [stdout]      |
[INFO] [stdout] 1150 | /             descriptor.get(|| {
[INFO] [stdout] 1151 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1152 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 1153 | |                     "denied",
[INFO] [stdout] ...    |
[INFO] [stdout] 1167 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1145 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1145 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1177:13
[INFO] [stdout]      |
[INFO] [stdout] 1177 |             instance.get(LoginChallengeResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1172 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1172 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1197:15
[INFO] [stdout]      |
[INFO] [stdout] 1197 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1197 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1319:13
[INFO] [stdout]      |
[INFO] [stdout] 1319 | /             descriptor.get(|| {
[INFO] [stdout] 1320 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1321 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 1322 | |                     "attempt",
[INFO] [stdout] ...    |
[INFO] [stdout] 1331 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1314 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1314 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1341:13
[INFO] [stdout]      |
[INFO] [stdout] 1341 |             instance.get(LoginChallengeAttemptCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1336 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1336 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1360:15
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1360 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1599:13
[INFO] [stdout]      |
[INFO] [stdout] 1599 | /             descriptor.get(|| {
[INFO] [stdout] 1600 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1601 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ErrorResponse>(
[INFO] [stdout] 1602 | |                     "denied",
[INFO] [stdout] ...    |
[INFO] [stdout] 1616 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1594 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1594 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1626:13
[INFO] [stdout]      |
[INFO] [stdout] 1626 |             instance.get(LoginChallengeAttemptResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1621 -         static mut instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1621 +         static instance: ::protobuf::lazy::Lazy<LoginChallengeAttemptResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1646:15
[INFO] [stdout]      |
[INFO] [stdout] 1646 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1646 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1811:13
[INFO] [stdout]      |
[INFO] [stdout] 1811 | /             descriptor.get(|| {
[INFO] [stdout] 1812 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 1813 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
[INFO] [stdout] 1814 | |                     "name",
[INFO] [stdout] ...    |
[INFO] [stdout] 1828 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1806 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1806 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:1838:13
[INFO] [stdout]      |
[INFO] [stdout] 1838 |             instance.get(WelcomeResponse::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 1833 -         static mut instance: ::protobuf::lazy::Lazy<WelcomeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 1833 +         static instance: ::protobuf::lazy::Lazy<WelcomeResponse> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:1858:15
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1858 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2038:13
[INFO] [stdout]      |
[INFO] [stdout] 2038 | /             descriptor.get(|| {
[INFO] [stdout] 2039 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2040 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 2041 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2060 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2033 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2033 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2070:13
[INFO] [stdout]      |
[INFO] [stdout] 2070 |             instance.get(WelcomeResponse_UnreadChannel::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2065 -         static mut instance: ::protobuf::lazy::Lazy<WelcomeResponse_UnreadChannel> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2065 +         static instance: ::protobuf::lazy::Lazy<WelcomeResponse_UnreadChannel> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2091:15
[INFO] [stdout]      |
[INFO] [stdout] 2091 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2091 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2213:13
[INFO] [stdout]      |
[INFO] [stdout] 2213 | /             descriptor.get(|| {
[INFO] [stdout] 2214 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2215 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
[INFO] [stdout] 2216 | |                     "contents",
[INFO] [stdout] ...    |
[INFO] [stdout] 2225 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2208 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2208 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2235:13
[INFO] [stdout]      |
[INFO] [stdout] 2235 |             instance.get(SendMessageCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2230 -         static mut instance: ::protobuf::lazy::Lazy<SendMessageCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2230 +         static instance: ::protobuf::lazy::Lazy<SendMessageCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2254:15
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2254 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2427:13
[INFO] [stdout]      |
[INFO] [stdout] 2427 | / ...   descriptor.get(|| {
[INFO] [stdout] 2428 | | ...       let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2429 | | ...       fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessag...
[INFO] [stdout] 2430 | | ...           "user",
[INFO] [stdout] ...    |
[INFO] [stdout] 2444 | | ...   })
[INFO] [stdout]      | |________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2422 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2422 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2454:13
[INFO] [stdout]      |
[INFO] [stdout] 2454 |             instance.get(ServerNewMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2449 -         static mut instance: ::protobuf::lazy::Lazy<ServerNewMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2449 +         static instance: ::protobuf::lazy::Lazy<ServerNewMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2474:15
[INFO] [stdout]      |
[INFO] [stdout] 2474 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2474 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2647:13
[INFO] [stdout]      |
[INFO] [stdout] 2647 | /             descriptor.get(|| {
[INFO] [stdout] 2648 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 2649 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 2650 | |                     "id",
[INFO] [stdout] ...    |
[INFO] [stdout] 2669 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2642 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2642 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:2679:13
[INFO] [stdout]      |
[INFO] [stdout] 2679 |             instance.get(RequestHistoryCommand::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 2674 -         static mut instance: ::protobuf::lazy::Lazy<RequestHistoryCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 2674 +         static instance: ::protobuf::lazy::Lazy<RequestHistoryCommand> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:2700:15
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3149:13
[INFO] [stdout]      |
[INFO] [stdout] 3149 | /             descriptor.get(|| {
[INFO] [stdout] 3150 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 3151 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, RegisterNickCommand>(
[INFO] [stdout] 3152 | |                     "register_nick",
[INFO] [stdout] ...    |
[INFO] [stdout] 3181 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3144 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3144 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3191:13
[INFO] [stdout]      |
[INFO] [stdout] 3191 |             instance.get(ClientMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3186 -         static mut instance: ::protobuf::lazy::Lazy<ClientMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3186 +         static instance: ::protobuf::lazy::Lazy<ClientMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:3214:15
[INFO] [stdout]      |
[INFO] [stdout] 3214 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 3214 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3523:13
[INFO] [stdout]      |
[INFO] [stdout] 3523 | /             descriptor.get(|| {
[INFO] [stdout] 3524 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 3525 | |                 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, RegisterNickResponse>(
[INFO] [stdout] 3526 | |                     "register_nick",
[INFO] [stdout] ...    |
[INFO] [stdout] 3545 | |             })
[INFO] [stdout]      | |______________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3518 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3518 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3555:13
[INFO] [stdout]      |
[INFO] [stdout] 3555 |             instance.get(ServerMessage::new)
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3550 -         static mut instance: ::protobuf::lazy::Lazy<ServerMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3550 +         static instance: ::protobuf::lazy::Lazy<ServerMessage> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> proto/src/proto/chat.rs:3576:15
[INFO] [stdout]      |
[INFO] [stdout] 3576 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]      |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |               |
[INFO] [stdout]      |               the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 3576 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]      |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> proto/src/proto/chat.rs:3633:9
[INFO] [stdout]      |
[INFO] [stdout] 3633 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 3634 | |             parse_descriptor_proto()
[INFO] [stdout] 3635 | |         })
[INFO] [stdout]      | |__________^ mutable reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]      |
[INFO] [stdout] 3622 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 3622 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 | /             descriptor.get(|| {
[INFO] [stdout] 171 | |                 let mut fields = ::std::vec::Vec::new();
[INFO] [stdout] 172 | |                 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
[INFO] [stdout] 173 | |                     "id",
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | |             })
[INFO] [stdout]     | |______________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 165 -         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 165 +         static descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             instance.get(UserSimple::new)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 192 -         static mut instance: ::protobuf::lazy::Lazy<UserSimple> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 192 +         static instance: ::protobuf::lazy::Lazy<UserSimple> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> proto/src/proto/util.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> proto/src/proto/util.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | /         file_descriptor_proto_lazy.get(|| {
[INFO] [stdout] 240 | |             parse_descriptor_proto()
[INFO] [stdout] 241 | |         })
[INFO] [stdout]     | |__________^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable
[INFO] [stdout]     |
[INFO] [stdout] 228 - static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout] 228 + static file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.61s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351", kill_on_drop: false }`
[INFO] [stdout] 22a06d8ac77c2d4639b1e8f5deaff6fc0569fd1cafb720a7ee50e1e19d8a1351
